home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / dndbbs.arc / DND-SRC.LBR / IO-O.BAS < prev   
Encoding:
BASIC Source File  |  2011-01-29  |  1.7 KB  |  36 lines

  1. 10 DEFSTR A-B:DEFINT C-Z:COMMON SHARED /DNDBBS.PGM/ T2!,UX,LM,CX!,LR,RM,A,WR,CR,AL,FG,IN,TF,YE,AI,NX,CA,SW,PA1$,PA2$,E1$,Z8$,X1
  2. 20 SUB IO.O STATIC
  3. 21 ON ERROR GOTO 10000
  4. 30 IF CR<>1 THEN AI=A:WHILE RIGHT$(AI,1)=" ":AI=LEFT$(AI,LEN(AI)-1):WEND:A=AI
  5. 40 TF=0:FOR LA=1 TO LEN(A):Y$=INKEY$:IF LM THEN IF Y$="" THEN 160 ELSE 120
  6. 41 IF Y$=CHR$(27) THEN IF CA THEN SW=NOT SW:Y$="":EXIT SUB ELSE X1=11
  7. 50 IF LEN(Y$)=2 THEN LP=ASC(RIGHT$(Y$,1)):Y$="":IF LP>58 AND LP<69 THEN X1=LP-58
  8. 70 IF(INP(1021)AND 1)=0 THEN 160
  9. 80 Y$=CHR$(INP(1016)):IF Y$<>CHR$(19)THEN 120
  10. 90 WHILE(INP(1021)AND 1)=0
  11. 100 IF(INP(1021)AND 32)=0 THEN 100
  12. 110 WEND:Y$=CHR$(INP(1016)):GOTO 160
  13. 120 IF Y$=CHR$(32)AND IN THEN TF=1:GOTO 180
  14. 130 IF Y$=CHR$(8)OR Y$=CHR$(27)THEN 150
  15. 140 IF(Y$<" "OR ASC(Y$)>127)AND Y$<>CHR$(13)THEN 160
  16. 150 Z8$=Z8$+Y$
  17. 160 LOCATE,,1:C$=MID$(A,LA,1):PRINT C$;:GOSUB 270
  18. 170 NEXT
  19. 180 IF CR<>1 THEN PRINT:C$=CHR$(13):GOSUB 270:IF LR=0 THEN C$=CHR$(10):GOSUB 270
  20. 190 IF CR=2 THEN CR=0:GOTO 170
  21. 200 CR=0:A="":Y$=""
  22. 210 IF TIMER=>T2!THEN T3!=TIMER-T2! ELSE T3!=TIMER+86400!-T2!
  23. 220 IF T3!>CX!THEN 230 ELSE EXIT SUB
  24. 230 A="Time limit exceeded!":FOR LA=1 TO LEN(A):C$=MID$(A,LA,1):GOSUB 270:NEXT
  25. 240 A="You were on for":T5!=INT(T3!/60!):T4!=T3!-T5!*60!:IF T5!=0 THEN A=A+STR$(INT(T4!))+" sec.":GOTO 260
  26. 250 IF T5!>60! THEN A=A+" more than an hour." ELSE A=A+STR$(T5!)+" min.":IF T4! THEN A=A+" and"+STR$(INT(T4!))+" sec." ELSE A=A+"."
  27. 260 FOR LA=1 TO LEN(A):C$=MID$(A,LA,1):GOSUB 270:NEXT:OUT 1020,0:CHAIN"DNDBBS"
  28. 270 IF LM THEN RETURN
  29. 280 IF(INP(1021)AND 32)=0 THEN 280
  30. 290 IF INP(1022)<128 THEN CHAIN"DNDBBS"
  31. 300 OUT 1016,ASC(C$)
  32. 310 RETURN
  33. 320 END SUB
  34. 10000 PRINT "Error"ERR"in module IO-O number"ERR
  35. 10001 RESUME NEXT
  36.